package com.yic.module.wms.controller.admin.warehouse.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import javax.validation.constraints.*;

/**
 * 仓库 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class WarehouseBaseVO {

    @Schema(description = "仓库名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotNull(message = "仓库名称不能为空")
    private String name;

    @Schema(description = "仓库代码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "仓库代码不能为空")
    private String code;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态不能为空")
    private Integer status;

    @Schema(description = "负库存", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "负库存不能为空")
    private Integer openNegative;

    @Schema(description = "库区", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "库区不能为空")
    private Integer openArea;

    @Schema(description = "安全库存", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "安全库存不能为空")
    private Integer openSalf;

    @Schema(description = "补货点", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "补货点不能为空")
    private Integer openReorder;

    @Schema(description = "仓库类型", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "仓库类型不能为空")
    private Integer category;

    @Schema(description = "显示顺序", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "显示顺序不能为空")
    private Integer sort;

    @Schema(description = "备注", example = "随便")
    private String remark;

    @Schema(description = "工厂", example = "8163")
    @NotNull(message = "工厂不能为空")
    private Long factoryId;

}
